package com.javagi.test.sort;

/**
 * @Description
 *  稳定性：如果一组待排序的数字中，有两个相同的数字。在排序完后，这个两个数字的位置相对不变，则该排序为稳定排序
 *  不稳定排序：堆排序，快速排序，希尔排序，直接选择排序
 *  0（nlog） 快速排序，堆排序，归并排序，快速排序最好
 *  初始排序对排序没有影响的是堆排序
 * @Author kuiwang
 * @Date 2020/5/29 17:32
 * @Version 1.0
 * 冒泡排序：
 *  循环遍历 0-length-1 的元素，找到合适每个位置的元素
 *  把位置i的元素和i后面的每个元素对比，找到最小的元素放在i这个位置
 */
public class BubbleSort {
    public static void main(String[] args) {
        int arr[] = {12,5,34,15};
        bubbleSort(arr);
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }

    /**
     *
     * @param arr
     */
    public static void bubbleSort(int arr[]){
        int temp;
        for (int i = 0; i < arr.length - 1 ; i++) {
            for (int j = i+1; j < arr.length; j++) {
                if (arr[i] > arr[j]) {
                    temp = arr[j];
                    arr[j] = arr[i];
                    arr[i] = temp;
                }
            }
        }
    }


}